#include<stdio.h>
#include<stdlib.h>
#include <string.h>
typedef struct data
{
    int T;
    int H;

}data;

 void *my_realloc(data *ptr, size_t size , size_t size2)
{

    data * D2 = (data *)malloc(size);

    if (size == 0)
    {
        free(D2);
        D2 = NULL;
    }

    else
    {
        for (size_t i = 0; i < size2; i++)
        {
            D2[i] = ptr[i];
        }
        
        free(ptr);
    }
    
    free(D2);
}

int main(int argc, char const *argv[])
{
    data Data = {.H=2 , .T=20 };
    data * p = &Data;
    p = (data *)malloc( sizeof(data));
    printf("%ld %ld", 10 * sizeof(Data) , sizeof(Data));
    /*
    for (size_t i = 0; i<sizeof(data); i++)
    {
        printf("%d %d\n", p[i].H , p[i].T);
    }
    
    
    p = (data *)my_realloc(p, 10 * sizeof(Data) , sizeof(Data)) ;
    
    for (size_t i = 0; i < 10 * sizeof(Data); i++)
    {
        printf("%d %d", p[i].H , p[i].T);
    }
    */
    free(p);
    p = NULL;

    return 0;
}